REST-based interfaces are the de-facto standard for communication within modern web applications, service-oriented architectures, micro-services, and integration of legacy applications into modern environments, among many other use cases. For example, and independent of these use cases, process engines are an architectural pattern often used to fulfil the actual goals, and/or logic. Common examples are booking processes (e.g., hotel booking, vehicle rental booking), or purchase processes (e.g., purchasing goods or service from an e-commerce website). Another example includes landscape management systems that execute of management operations in complex datacenters.
From a user-perspective, following a workflow through a process is often referred to as a roadmap. Within such a roadmap, users interactively modify data for each step, or keep default values, for example. External inputs, outputs from previous steps, and/or context information might be processed in each step to create an output for the respective step. This can be used, for example, for a conditional selection between different subsequent steps, and/or for modifying the options/data within the subsequent steps. The data existing in the roadmap is translated into individual operations within a process being executed by a respective process engine to achieve the actual goal(s). In some examples, the roadmap steps may auto-generate code representing the process without a process engine.
When integrating a software product into a more complex scenario (e.g., where the execution of a roadmap is just a sub-part), interfaces must be provided to transfer the information into the roadmap without user interaction. Such integrations can be a time-consuming, resource-inefficient, and error prone process. The technical interfaces are not/insufficiently documented, complicated, complex, and/or do not reflect what users view from the UIs.